草庐IT

Arduino ESP32

全部标签

【ESP32填坑日记】问题篇⑧ VScode中提示无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe“

关注+星标公众号,不错过精彩内容作者|量子君微信公众号|极客工作室问题描述在编译成功,重启之后就编译不成功了,并报如图错误:无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe”解决方法:用ctrl+shift+p快捷键打开C/C++:编辑配置(UI):找到编译器路径,将路径改为类似于如下的riscv32-esp-elf-gcc.exe路径:C:\Espressif\tools\riscv32-esp-elf\esp-2022r1-11.2.0\riscv32-esp-elf\bin\riscv32-esp-elf-gcc.exe若电脑安装

【STM32】STM32F4XX的12位ADC采集数值超过4096&右对齐模式设置失败

文章目录一、前言二、问题1:数值超过4096三、问题1的排错过程四、问题2:右对齐模式设置失败五、问题2的解决方法5.1将ADC_ExternalTrigConv设置为05.2使用ADC_StructInit()函数六、F1和F4关于ADC的小差别七、参考文章一、前言最近在学习STM32的ADC功能,遇到了一个奇怪的问题。使用芯片:STM32F407ZGT6使用函数:库函数使用代码:正点原子的例程《实验16ADC实验》串口工具:VOFA二、问题1:数值超过4096博主直接使用了正点原子的程序,如下面所示,使用的12位的ADC1,端口是PA5//初始化ADC void

STM32 i2c读写寄存器地址8位,16位的方法

一般常用的寄存器地址是8位的,遇到一个寄存器地址为16为的器件。总结一下代码编写。寄存器地址16位的为SY103,寄存器地址为8位的为LT7911.测试代码voidDebugLEDTask(void*argument){ uint8_tinput[2]={0x00,0x7f}; uint8_tvalue[2]={0x00,0x00}; uint8_tnum=sizeof(input)/sizeof(input[0]); uint8_tinput1[1]={0x01}; uint8_tvalue1[1]={0x00}; uint8_tnum1=sizeof(input1)/sizeof(inpu

STM32基于CAN总线协议控制步进电机

一、功能描述:如上图所示,实现了以下功能:1.两块stm32单片机通过CAN控制器与收发器进行半双工通信;2.stm32主机通过检测按键,切换不同的模式,将不同模式的case值发送给stm32从机;3.stm32从机根据收到的case值,控制步进电机进行不同的运动操作;4.OLED用于显示收发内容与按键状态等信息。二、CAN总线概述1.CAN总线协议        CAN总线(ControllerAreaNetwork)是一种串行通信协议,最初是由德国Bosch公司在1983年为汽车应用而开发的。然而,由于其高效、可靠的性能,CAN总线已经被广泛用于各种领域,包括工业控制、医疗设备、军事应用等

ST-ARM理论(4):STM32F1启动

ST-ARM理论(4):STM32F1启动前提摘要个人说明:限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“noahpanzzz@gmail.com”参考正文启动模式(STM32F1)在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。主闪存存储器,芯片内置的FLASH。系统存储器,芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说

STM32TIM定时器输入捕获详解(适用于通用,高级定时器)

前言首先我们要明白,输入捕获有常见的测量脉宽和特殊的PWM输入,两种方式,因此我在下面也会提供两端代码。注意代码中我们会出现中断这部分代码,这部分是按照个人需求进行使用。原理细解输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。这里我看了许多相关的视频讲解,里面关于中断的引用,一般来说配置到主从触发的时候并且使能好后,你可以直接用相关函数读出你记录的值,当然你需要处理一下才能够得到结果,如果你加了中断,那么你就在中断服务函数里面处理,我个人觉得不要中断比较简洁(江科大就是这样写的),当然下文会添

STM32实现FFT,求取幅度频谱

STM32实现FFT,求取幅度频谱FFT不太对劲的理解FFT的原理比较复杂,因为32使用FFT不用去管算法是如何运作的,我在这里就进行简单的介绍了。因为是简单介绍,就只介绍下幅度频谱图,不考虑相位频谱图。​FFT可以将一个信号从时域变换到频域,比如一个1VPP的1k的正弦信号,它的时域和频域的示意图如下:​频域为我们观察信号提供了一个新的视角。比如下面是1k和2k信号的叠加。​从时域上看,1k+2k的波形不容易进行处理,也不好猜出来这个波形到底有什么特性(当然这个例子其实还是比较好猜测的,复杂情况就不好看了)。可是变换到频域后,特性非常的明显,处理起来就方便了。STM32实现FFT添加DSP库

基于STM32F4实现温湿度检测(DHT11)

文章目录前言一、温湿度模块1.介绍2.外观3.引脚示意图二、使用步骤1.串行通信的过程引脚初始化通信过程2.完整代码前言今天我们学习如何利用温湿度模块DHT11检测温湿度,这个模块在日常生活中是比较常见的。一、温湿度模块1.介绍DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准

【正点原子】STM32电机应用控制学习笔记——5.BLDC直流无刷电机无感控制

上一篇文章是有感控制,就是通过位置传感器来知道下一步要通哪一项的上下桥臂。这种方式实现的六步换向就是有空控制。一.无感控制简介(了解)1.有感和无感电机无感就是没有位置传感器也能实现对无刷电机的驱动。所以无刷电机只有uvw三根线。那么之前有霍尔传感器的无刷电机其实也可以实现无感驱动,就是不接霍尔传感器的线即可。无感驱动由于没有位置传感器,所以体积很小,这就是其最大的优势和区别了。2.有感驱动和无感驱动电机优缺点有感驱动由可以实时检测转子位置的霍尔传感器,可以实现零速度启动。也就是只要霍尔传感器一通电,就能输出0101的信号,通过三个霍尔就能知道当前转子所在的位置,就能知道下一步能给哪一相进行通

keil构建STM32工程并使用proteus仿真led点灯实验

  STM32单片机与51单片机有很大区别,不仅结构上有很大差异,STM32更复杂一些,在操作上来说,STM32也要复杂很多,51单片机上手写代码,可以很直接操作引脚,但是STM32单片机在操作引脚之前需要作很多初始化工作,比如开启时钟使能,GPIO管脚初始化。  下面就入门STM32单片机开发做一个简单的介绍,本文是仿真,不需要真实的STM32单片机,只需要电脑安装开发相关的软件即可,主要是keil-mdk,proteus。  keil这里安装的是支持STM32单片机的版本,这个需要安装mdk那个版本。这里提供一个支持mdk的keil下载链接,提取码:1234。它的安装和破解和keil-51